package com.normalClasses.eye;
import java.io.FileNotFoundException;
import java.io.IOException;

public interface logHandler {
  public String[] allLog() throws FileNotFoundException;//返回所有log
  public String[] traceLog() throws FileNotFoundException;//返回所有trace log
  public String[] warnLog() throws FileNotFoundException;//返回所有warn log
  public String[] debugLog() throws FileNotFoundException;//返回所有debug log
  public String[] errorLog() throws FileNotFoundException;//返回所有error log
  public String[] infoLog() throws FileNotFoundException;
  /**
   * 返回log写入日期
   * @param logLine - 一行特定的log（格式：2020-01-05）
   * @return - 写入日期
   */
  public String getLogDate(String logLine);  
  /**
   * 返回一条log的写入时间
   * @param logLine - 一条log; 
   * @return - 写入日期.
   */
  public String getLogTime(String logLine);
  
  /**
   * 返回一条特定log的等级 
   * @param logLine - 一条特定log
   * @return
   */
  public String getLogLevel(String logLine);
  /**
   * 返回一条log的来源
   * @param logLine - 一条特定log
   * @return - log的来源
   */
  public String getLogSource(String logLine);
  /**
   * 返回一条log的内容
   * @param 一条log 
   * @return log的内容
   */
  public String getDetailedInformation(String logLine); 
  /**
   * 得到特定种类的log
   * @param level - INFO,ERROR,Trace...
   * @return 所有该种类的log
   * @throws FileNotFoundException 
   */
  public String[] getSpecificLog(String level) throws FileNotFoundException;
  
  /**
   * 返回特定日期特定种类的log
   * @param level - log种类
   * @param date - 日期
   * @return - 特定的log
   * @throws FileNotFoundException
   */
  public String[] getSpecificLog(String level,String date) throws FileNotFoundException;
  
  /**
   * 返回特定日期特定时间特定种类的log
   * @param level - log种类
   * @param date - 日期
   * @param time - 时间
   * @return
   * @throws FileNotFoundException
   */
  public String[] getSpecificLog(String level,String date,String time) throws FileNotFoundException;
  
   /**
    * 返回一段日期之间的所有特定等级的log
    * @param level - log的等级
    * @param startDate - 起始时间
    * @param endDate - 截至时间
    * @return - 这段时间内所有的log
    * @throws FileNotFoundException
    */
  public String[] getPeriodLog(String level,String startDate,String endDate) throws FileNotFoundException;
  
  /**
   * 返回某一时间段的特定等级的log
   * @param level - log的等级
   * @param startDate - 开始日期（格式：2020-01-05）
   * @param endDate - 截至日期
   * @param startTime - 开始日期的开始时间（格式： 03:46精确到分钟）
   * @param endTime - 截至日期的截止时间
   * @return 这段特定时间内所有log
   * @throws FileNotFoundException
   */
  public String[] getPeriodLog(String level,String startDate,String endDate,String startTime,String endTime) throws FileNotFoundException;
  
}


  